/**
 * Copyright ©2015 上海屹通. All rights reserved.
 * 
 * @Title: main.js
 * @Prject: ares-template-web-bootstrap
 * @Description: 图形验证码demo
 * @Package: page/demo/captcha
 * @author: 李朋飞（lpf@yitong.com.cn）
 * @date: 2015年11月3日 上午11:43:40
 * @version: V1.0
 */
var App = function() {
	//验证码
	var captchaEl = $('input[name=captcha]');
	// 验证码密文
	var captchaSecurity = null;
	// 验证码图片
	var captchaImageEl = $('#captcha-image');
	return {
		/**
		 * 初始化应用入口
		 */
		init : function(require) {
			// 初始化事件
			this.initEvents();
			// 初始化验证码
			this.doRefreshCaptcha();
		},
		/**
		 * 初始化事件
		 */
		initEvents : function() {
			//点击刷新验证码
			captchaImageEl.on('click', Fw.bind(this.doRefreshCaptcha, this));
			//校验验证码
			$("#check").on('click', Fw.bind(this.doCheckCaptcha, this));
		},
		/**
		 * 刷新验证码
		 */
		doRefreshCaptcha : function(e) {
			// 如果是点击验证码图片刷新
			if (e) {
				// 则验证码输入框获得焦点、置空
				captchaEl.val('').focus();
			}
			// 验证码图片置空
			captchaImageEl.addClass('refresh').attr('src',Fw.getBasePath() + '/page/demo/captcha/images/empty.gif');
			// 获得验证码密文
			Fw.util.Ajax.get({
						// 数据源（服务接口）
						service : 'demo1Service/getCaptcha',
						// 请求成功后回调
						success : {
							fn : this.onRefreshCaptcha,
							scope : this
						}
					});
		},
		/**
		 * 刷新验证码后触发
		 */
		onRefreshCaptcha : function(code) {
			// 设置验证码图片
			captchaImageEl.attr('src', Fw.getBasePath() + '/CaptchaServlet/' + code);
//			captchaImageEl.attr('src', 'http://192.168.1.193:8080/ares-server/CaptchaServlet/' + code);
			captchaSecurity = code;
		},
		/**
		 * 校验验证码
		 */
		doCheckCaptcha : function() {
			Fw.util.Ajax.execute(captchaEl.val(),{
						service : 'demo1Service/getCaptchaStatus',
						params: {
		                    captchaSecurity: captchaSecurity
		                },
						// 请求成功后回调
						success : function(data,result){
							var info = ['<p>校验结果：</p>'];
		                    Fw.each(result, function(prop, value){
		                        info.push('<p>');
		                        info.push(prop);
		                        info.push('：');
		                        info.push(value);
		                        info.push('</p>');
		                    });
		                    $('#result').html(info.join(''));
						}
					});
		}
	};
}();

/**
 * 页面加载完毕后，初始化应用
 */
Fw.onReady(App);
